<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>正则表达式匹配</title>
 </head>
 <body class="docs"><div id="layout">
  <div id="layout-content"><div id="function.ereg" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ereg</h1>
  <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">ereg</span> &mdash; <span class="dc-title">正则表达式匹配</span></p>

 </div>
 <div class="refsect1 unknown-unknown-seealsq" id="refsect1-function.ereg-unknown-unknown-seealsq">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ereg</strong></span>
    ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$pattern</code></span>
   , <span class="methodparam"><span class="type">string</span> <code class="parameter">$string</code></span>
   [, <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$regs</code></span>
  ] ) : <span class="type">int</span></div>

  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    使用 Perl 兼容正则表达式语法的 <span class="function"><a href="preg_match.html" class="function">preg_match()</a></span>
    函数通常是比 <span class="function"><strong>ereg()</strong></span> 更快的替代方案。
   </p>
  </p></blockquote>
  <p class="simpara">
   以区分大小写的方式在 <code class="parameter">string</code>
   中寻找与给定的正则表达式 <code class="parameter">pattern</code> 所匹配的子串。
  </p>
  <p class="simpara">
   如果找到与 <code class="parameter">pattern</code>
   中圆括号内的子模式相匹配的子串并且函数调用给出了第三个参数
   <code class="parameter">regs</code>，则匹配项将被存入
   <code class="parameter">regs</code> 数组中。$regs[1]
   包含第一个左圆括号开始的子串，$regs[2]
   包含第二个子串，以此类推。$regs[0] 包含整个匹配的字符串。
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    直到 PHP 4.1.0 为止，<var class="varname"><var class="varname">$regs</var></var>
    将被填充为正好十个单元，即使实际匹配的子串少于十个。这并不影响
    <span class="function"><strong>ereg()</strong></span> 匹配更多子串的能力。如果没有找到匹配，则
    <em>$regs</em> 不会被 <span class="function"><strong>ereg()</strong></span> 更改。
   </span>
  </p></blockquote>
  <p class="simpara">
   如果在 <code class="parameter">string</code>
   中找到 <code class="parameter">pattern</code> 模式的匹配则返回
   所匹配字符串的长度，如果没有找到匹配或出错则返回 <strong><code>FALSE</code></strong>。如果没有传递入可选参数
   <code class="parameter">regs</code> 或者所匹配的字符串长度为 0，则本函数返回 1。
  </p>
  <p class="para">
   以下代码片断接受 ISO 格式的日期（YYYY-MM-DD）然后以
   DD.MM.YYYY 格式显示：
  </p>
  <p class="para">
   <div class="example" id="example-5884">
    <p><strong>Example #1 <span class="function"><strong>ereg()</strong></span> 例子</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">ereg&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$date</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$regs</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">]</span><span style="color: #DD0000">.</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">]</span><span style="color: #DD0000">.</span><span style="color: #0000BB">$regs</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Invalid&nbsp;date&nbsp;format:&nbsp;</span><span style="color: #0000BB">$date</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
    </div>

   </div>
  </p>
  <p class="para">
   参见 <span class="function"><a href="eregi.html" class="function">eregi()</a></span>，<span class="function"><a href="ereg_replace.html" class="function">ereg_replace()</a></span>，<span class="function"><a href="eregi_replace.html" class="function">eregi_replace()</a></span>，<span class="function"><a href="preg_match.html" class="function">preg_match()</a></span>，<span class="function"><a href="strpos.html" class="function">strpos()</a></span>
   和 <span class="function"><a href="strstr.html" class="function">strstr()</a></span>。
  </p>
 </div>

</div></div></div></body></html>